package com.zkyc.framework.website.service;

import com.zkyc.framework.common.pojo.WebContent;
import com.zkyc.framework.common.pojo.WebQuoteContent;
import com.zkyc.framework.common.vo.ResultVO;
import com.zkyc.framework.common.vo.website.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;
import java.util.List;

/**
 * @author bing.bai
 * @create 2022/5/25
 */
public interface ContentService {

    ResultVO addContent(WebContentVo webContent);

    ResultVO submit(WebContentVo webContent);

    ResultVO offLine(String id);

    ResultVO update(WebContentVo content);

    ResultVO list(Integer id, String createdBy, String beginDate, String endDate, String title, Integer status, Integer columnId, Integer tag, Integer centerId, Integer current, Integer size);

    ResultVO listDashBoard(String beginDate, String endDate, String title, Integer status, Integer columnId, Integer tag, Integer centerId, Integer current, Integer size);

    ResultVO delete(DeleteContentVo deleteContentVo);

    ResultVO globalList(ColumnDataPageVo columnDataPageVo);

    ResultVO replaceContent(ReplaceContentVo replaceContentVo);


    ResultVO quoteList(Integer id, String createdBy, String beginDate, String endDate, String title, Integer status, Integer columnId, Integer current, Integer size);

    ResultVO quoteListDashBoard(String beginDate, String endDate, String title, Integer status, Integer columnId, Integer current, Integer size);

    ResultVO saveQuote(QuoteVO quoteVO);

    ResultVO deleteQuote(WebQuoteContent webQuoteContent);

    ResultVO query(Integer id);

    ResultVO clickRateList(Integer[] ids);

    ResultVO search(Integer websiteId, String content, Integer current, Integer size, Integer timeRange, Integer searchRange);

    ResultVO queryQuoteListByContentId(Integer contentId);

    ResultVO queryMaxContentId();

    ResultVO stickQuote(WebQuoteContent webQuoteContent);

    ResultVO stick(Integer id);

    ResultVO contentListByTagId(Integer size, Integer current, Integer mediaTagId, Integer moudleId, Integer center, Integer type);

    ResultVO queryTagByColumnId(String columnId, String centerId);

    ResultVO queryTagByMoudleId(String moudleId, String centerId);

    ResultVO queryPicUrlById(String columnId, String type);

    void importExcel(MultipartFile file);

    ResultVO queryByMoudleId(Integer moudleId, Integer current, Integer size);

    void addSummary();

    void deleteNull();

    void deleteDulList();

    void timeList();

    ResultVO<?> quoteListDashBoardPlus(String beginDate, String endDate, String title, Integer status, Integer columnId, Integer current, Integer size);

    ResultVO updateStatus(Integer id);

    ResultVO init();
}
